package cn.core.sign.service.intf;

import cn.core.sign.eo.PostRole;
import cn.core.sign.qo.PostRoleQO;
import cn.core.sign.vo.PostRoleVO;
import cn.core.tool.util.Paging;
import cn.core.tool.util.Param;

import java.util.Collection;

/**
 * 岗位角色 服务接口
 */
public interface IPostRoleService {

  /**
   * 岗位角色 >>> 保存
   */
  public PostRole save(PostRole eo) throws Exception;

  /**
   * 岗位角色 >>> 批量保存
   */
  public Collection<PostRole> saveBatch(Collection<PostRole> eos) throws Exception;

  /**
   * 岗位角色 >>> 修改
   */
  public PostRole update(PostRole eo) throws Exception;

  /**
   * 岗位角色 >>> 批量修改
   */
  public Collection<PostRole> updateBatch(Collection<PostRole> eos) throws Exception;

  /**
   * 岗位角色 >>> 删除
   */
  public void remove(PostRole eo) throws Exception;

  /**
   * 岗位角色 >>> 批量删除
   */
  public void removeBatch(Collection<PostRole> eos) throws Exception;

  /**
   * 岗位角色 >>> 数据量
   */
  public Long count(PostRoleQO qo) throws Exception;

  /**
   * 岗位角色 >>> 主键查询
   */
  public PostRole pk(PostRoleQO qo) throws Exception;

  /**
   * 岗位角色 >>> 查询
   */
  public Collection<PostRole> query(PostRoleQO qo) throws Exception;

  /**
   * 岗位角色 >>> 分页
   */
  public Paging<PostRole> paging(Param<PostRoleQO> param) throws Exception;

  /**
   * 岗位角色 >>> 业务数据量
   */
  public Long countVo(PostRoleQO qo) throws Exception;

  /**
   * 岗位角色 >>> 业务主键查询
   */
  public PostRoleVO pkVo(PostRoleQO qo) throws Exception;

  /**
   * 岗位角色 >>> 业务查询
   */
  public Collection<PostRoleVO> queryVo(PostRoleQO qo) throws Exception;

  /**
   * 岗位角色 >>> 业务分页
   */
  public Paging<PostRoleVO> pagingVo(Param<PostRoleQO> param) throws Exception;

}
